ExaChess 2.1 is a minor upgrade of ExaChess 2.0, mostly addressing assorted bug fixes. See Change History below for details.
ExaChess 2.0 has more than 120 improvements over 1.x versions of ExaChess. The major improvements are described here. All significant changes are listed in the section Change History below.
CD-ROM with 400K games (including 1996,97,98 games)
ExaChess 2 is now distributed on CD with a 400K game database, a large collection of Ken Thompson's 5-piece endgame tables, and various third party goodies (chess engines, fonts etc).
Styled text display of annotated games
New-look move display always shows game title and all notes and variations, using colorized text and formatting to distinguish the main line from annotations and variations. Header fields can now be displayed in keyword style.
Printing of games
Games can now be printed with figurines, diagrams, styles directly from within ExaChess - no need to export to RTF. (ExaChess Lite only prints first 20 moves.)
Views
Results of a search can be saved as a View without copying the actual matching games. Create handy views of games matching opening or endgame positions you are studying. Views can be saved to disk as views or converted to full databases.
Finding and sorting
ExaChess can now find all games that don’t match the search criteria, can find all deleted games, and can sort a database in reverse order.
Game annotation
ExaChess can now use a chess engine to automatically annotate a game or selected games in a database. The chess engine must support the AppleEvent-based Chess Engines Suite 2.0 which adds evaluation, best line, time controls, and game termination. The supplied ZZZZZZ supports this suite, as do new versions of Crafty and GnuChess available from the ExaChess web site (http://www.exachess.com/downloads).
Hosting a match between chess engines
ExaChess can now host an n-game match between two chess engines that support the Chess Engines Suite 2.0. Each game in the match can be started from a user-specified starting position. Games are automatically saved to a database. Use this command to test the engines against one another.
Tooltips and preferences help
Tooltips are now available for toolbar buttons and balloon help is now available for all Preferences dialog items.
Icons in Games and SaveIn menus
Items in the Games and SaveIn menus now have icons. The Finder icons for games and databases have been changed; you may need to rebuild the desktop to see the new icons if you are upgrading from 1.x versions of ExaChess.
Localized versions of ExaChess
A German-language localization of ExaChess can be obtained simply by moving the file ExaChess Deutsch from the Tools folder to the same folder as ExaChess itself and restarting ExaChess. All menus, dialogs, and user-interface text will appear in German (a German translation of the balloon help text and the User's Guide is not currently available). [A French-language localization is available with 2.1.]
Upgrading from ExaChess 1.x
Install ExaChess 2, then replace the ExaChess Games folder with your existing one (or merge the two folders by moving individual databases from the existing folder to the new one).
ExaChess 2 uses a slightly different index format to ExaChess 1. ExaChess 2 can read and update version 1 databases, but version 2 databases should be reindexed when presented to ExaChess 1. If you plan to use both versions of ExaChess, then check the ExaChess 1.x Indexes checkbox in ExaChess 2 Database Preferences to force ExaChess 2 to create new indexes in version 1 format.
Change History
Changes in 2.1 with respect to 2.0
GENERAL
√ ExaChess is no longer distributed as a fat binary, only as a PPC binary. If you
need a 68K version, contact Exant for a download URL.
√ Aliases in the ExaChess Games folder to files or folders on unmounted volumes
no longer result in requests to the user to insert CD-ROMs etc.
√ Distribution now includes a French language module (thanks to Damien André)
GAMES
√ Fixed bug: Pasting text from one chess game into another game now works if
figurines are on and the language is not English
√ Fixed bug: Keyboard focus remains on move list after option-clicking a row in
the opening tree display
DATABASES
√ Deleting a game from a view will not delete the game from the database if the
option key is down
√ Fixed bug: Views are now listed in Standard File open dialog
√ Fixed bug: Deleting games when a game list is reverse sorted now updates the
list correctly.
√ Fixed bug: Fixed problem with -39 errors (logical end-of-file reached during
read operation) for large EPD databases.
√ Fixed bug: Fixed problem with Recover Or Quit dialogs when adding an opening
tree index to Text or PGN databases with garbage text between games
(including mailboxes of ICC games)
√ Fixed bug: Doing SaveIn from a view now works correctly
√ Fixed bug: Problem with validation key
COMPUTER PLAY
√ Ignore errors in returned analysis string (moves following evaluation)
√ Fixed bug: Lite & 68K crashes with time controls, analysis fixed.
√ Fixed bug: No longer crash on long 'move' events (over about 100 moves).
√ Fixed bug: Better handling of error reports from search engines
EXTRAS
√ ZZZZZZ can now parse ++ for checkmate, 0-0+ etc.
Changes in 2.0 with respect to 1.2
GENERAL
√ CD-ROM with 400K games (including 1996,97,98 games)
√ Modified the icons (may need to rebuild desktop to see)
√ Added icons for Games and SaveIn menus
√ OS8 popup menus with OS8
√ Tooltips now available for toolbar buttons
√ User name for personalization now defaults to blank
√ CloseAll is now disabled if no windows are open
√ All Databases window now shows file sizes over 10000K in MB
√ Opening book, op tree index now use 48-bit hash codes (rather than 32-bit).
This fixes several opening misclassifications with the shorter length.
√ Chess engines now live in 'Engines' folder within ExaChess Tools folder. If
there's no such folder, then the Tools folder will be used as before.
√ Can now use Cmd-first_letter_of_button_title in dialogs as shortcut to click button
√ Updated Release database (Linares etc)
√ Can now quit ExaChess when some databases are busy
√ Developed a German localization of ExaChess (thanks to Rene Gusinde and Franziska
Stieler for their help). Still incomplete, more helpers welcome.
PREFERENCES
√ Increased size of Preferences dialog and rearranged some items
√ Prefs/Chessboard font lists only show installed known chess fonts
√ Font Mappings file is now used to define font mappings
√ Can disable gray database views, tooltips, non-transferred dupes warning in prefs
√ Balloon help has been added to the Preferences dialog.
DEVELOPER
√ Upgraded to CW11 and Universal Headers 3.2
√ (Lib) Clipboard now displays styled text
GAMES
√ New-look move list with syntax coloring and all notes and variations always visible.
√ Replaced toolbar icon Show Game Text (no longer required) with Show Captured Pieces
√ If option key is down, then Show Captured Pieces shows material difference only
√ Enabled printing of games with figurines, diagrams (Lite only prints first 20 moves)
√ Header fields can now be displayed in keyword style
√ Improved parsing of ICC games. Player names, Elo, date correctly parsed, move
time is ignored.
√ Setup now begins with a copy of the game rather than the position, so game positioning
buttons and menu items work (i.e. can go forward/back)
√ Setup now sets castling rights to maximum if any change is made to board. Previously,
setting up a position after doing a Clear Board would leave resultant position with
no castling rights.
√ Live update of window while resizing
√ Added support for the position annotation "(=)" meaning "draw offer"
√ Status bar now reports draw by repetition and by 50 move rule
√ Added new command 'Copy Position/ As EPD String'
√ An EPD string is now parsed correctly if pasted into a game window
√ Tightened the check for illegal setup position
√ Removed 32K limit on length of game text that can be parsed
√ ExaChess can now automatically parse games in languages other than English without
the user having to correctly set Language: if a parse isn't 'clean' then other
languages get tried and the one that gives the best parse is used.
√ A reduced board size obtained by using the option key when resizing a game window
is now saved with other window defaults
√ Added another game presentation style (menu Chess/Style/Current Line) which
is similar to ExaChess 1.2, and which shows the current line and the first move
only of any variations to the current line. Useful when playing through very heavily
annotated games. Note that this style is additive rather than replacing; deleting
a note or variation by editing the move text won't have any effect.
√ Added a Style submenu to the Edit menu, the only real purpose of which is to provide
a means of underlining piece names in annotation text (to enter figurines into
annotation text)
√ Added toolbar icon for Find Position
√ Rotate board is now 'sticky' for subsequent games, though the sticky setting
doesn't override saved games (i.e. not in databases) or the Own Games from
Own Side preference
√ Added a Flip button to setup dialog to swap White and Black pieces and turn
√ Moves after the last real move of a game (i.e. moves shown after 1-0, 0-1
1/2) are now shown in variation style
√ Added an icon on the opening tree display, which if clicked opens the
database being used to supply the opening tree
√ Added a new menu item 'Edit mode' in the Edit menu which gets checked
when the game text is in edit mode (i.e. cursor keys just move the insertion point).
Also, 'Edit mode' is now displayed in status line when game text is in edit mode.
√ Original ECO is no longer displayed next to date when opening name display in the
game header is enabled. Instead it is reduced to an extra space if it matches the
ECO code calculated by ExaChess, and is shown in [] after ExaChess's code if it
differs.
√ Fixed bug: Window title now shows year range for correspondence games
√ Fixed bug: Closing a game window when its Get Info window is open no longer
crashes ExaChess
√ Fixed bug: Moving a piece by overdragging it to the top or left is now okay
(move is accepted)
√ Fixed bug: Show Opening Tree is now disabled (menu item and icon) if there's no suitable
database
√ Fixed bug: An enpassant specification in a setup string is now handled correctly
√ Fixed bug: SaveAs to an existing file name no longer fails
DATABASES
√ MacOS8 Finder-like windows (gray with white separator lines)
√ Window position and sort column now saved in database
√ Can search for deleted games using a single '-' in the Result field (ensure
Show Deleted Games is on or the result will be empty)
√ Renamed Find to New View. A new view initially shows 0 games but will show all
games by clicking on Find All icon or selecting Find All from menu
√ Can save a view
√ Merged old Find Position (from game window) with Position Search (database window).
From a database window, get dialog allowing position search parameters to be
entered; from a game window, automatically get a New View with an exact position
search for the position in the game window.
√ Renamed Clear Search / Search/ Position Search to Find All / Find / Find Position
√ Added Find Non-Matching to find all games that don't match search criteria
√ Removed Macify, Position Index, Opening Tree Index from the Database menu. Access
them through Preferences or during the Rebuild Index confirmation dialog
√ Sorting now uses temporary memory, so less like to fail for lack of memory
√ Database listings now show full date (or year range). This requires a change to the
index format, and ExaChess 1.0 will report an 'Internal error' when opening
a database indexed in this fashion.
√ Line wrapping now correct for PGN databases
√ More robust recovery of ExaChess databases
√ Warning when duplicate games are not transferred
√ Changed Import All to Import Selected.
√ Changed Show Duplicates to All to Show Duplicates to Others.
√ Added a shortcut Cmd-\ to open the All Databases window
√ Names are normalized prior to indexing (includes matching against Masters list to
add given name data and to resolve double word surnames)
√ Events are normalized prior to indexing (as Site: Event); can be displayed as
any of Event, Site; Site (Event); Site: Event.
√ Added ability to show list in reverse order: Database Prefs/ Reverse Sort
√ Change Headers now includes regular expression matching
√ Added test and error message for corrupted resource fork
√ Big speed up selecting imported or saved-in games
√ Big speedup calculating score for a large selection when games are sorted other
than by number
√ Finishing (which occurs when adding an opening table index) is now integrated with
regular indexing and the progress bar no longer shows Finishing
√ Large optree indexes are now stored in a separate '.ido' index file.
√ Index files can now use temporary memory when reindexing. This allows a large opening
tree index to be built without increasing ExaChess's memory partition
√ Added two new sort modes: Option-click on Players sorts by Black player; Option-click
on Event sorts by Event/Year/Round rather than Year/Event/Round
√ Elo searches now support two modes: 2400 means games in which White or Black > 2400;
2400-2450 means White>2400 and Black>2450 etc.
√ Duplicates matching now forces Name match if win in 1 or fewer moves or draw in 15
or fewer moves; matching by year accepts off-by-one match provided game lengths
are equal.
√ Long database names are drawn compressed in All Databases window
√ Added PGN termination marker '*' where result is unknown; Result tag now shows
correct result after a Copy Game operation
√ Find Position (from a Game window) now does position search in top database
window. If there's no such window, it does a New View first.
√ Show Opening Tree for a database is now much faster and works without the
database having to have an Opening Tree index. The tree is computed for the
games shown in the window. Ten moves are shown, in folded style (white moves
on one line, black moves on the next), starting with the move number set in
the small popup menu located below the Opening input box. Window can be
printed. Only lines having two or more games are shown. Transpositions to earlier
lines are marked with a bullet. The operation uses a lot of memory, perhaps
1 MB for 1000 games, so use for small datasets only.
√ Opening tree is now created with a new database (if Opening Tree Index is
checked) and is maintained as games are added, particularly via SaveAs or
SaveIn.
√ Fixed various limitations with building opening tree indexes with large
databases. Should now work with arbitrarily large databases, but must give
ExaChes 10MB of extra memory for every 100K games since the optree index
is built in memory rather than on disk. If the database has more than 80K
games, separate .idx, .idp, .ido files are created since things no longer
fit in the resource fork.
√ Added Databases choice to view popup menu to show databases involved in
providing a view
√ Deleted games are now listed in red
√ Limit for calculating peformance rating is now 400 games
√ Views now track changes to gameNo when a game is edited and saved. This is lost if the
database is reindexed.
√ Fixed bug: Indexing PGN or text databases of more than about 7K games no longer
leads to a 'Read past logical end of file' error
√ Fixed bug: A new database is never marked with '#' (opening tree index) in the
All Databases window
√ Fixed bug: Player names starting with 'de' on White games now parsed correctly
in Text databases
√ Fixed bug: Can again index EPD databases
√ Fixed bug: Open to matched position now works for results in Find window
√ Fixed bug: Moving an open database with the Finder is now okay
√ Fixed bug: Import Selected and Show Duplicates to Others are disabled if there are
no selected databases in the All Databases window, and are enabled even
if the All Databases window has never been opened.
√ Fixed bug: Scroll position now correct after deleting from top of database
√ Fixed bug: Deleting and undeleting games now updates other database views correctly
√ Fixed bug: All databases window now shows correct size for aliases and for databases
with separate offset or index files.
√ Fixed bug: Show Duplicates to Others no longer gives bogus results when run with
filtered results showing in the database window.
√ Fixed bug: Fixed potential crashing bug with two ViewBases open at the same time
√ Fixed bug. ###ExaChess temp file no longer shows in All Databases window
√ Fixed bug: Database index files are now renamed correctly (unmacified and multifile)
√ Fixed bug: Made RTF format templates compatible with Word 98. Also made diagram
and figurine font mapping correspond to font defined in Diagram style; the user
no longer needs to align the Print font with this font.
√ Fixed bug: Cancelling a View search now works
√ Fixed bug: Position matches for positions that occur after a White promotion
would sometimes fail
OPENING TREE
√ Opening Pane moves played on board on single click
√ Show and print Opening Tree for a database now displays an opening tree in
conventional book fashion computed from all matching games in the database.
COMPUTER PLAY
√ Added support for Chess Engines Suite 2.0 (with evaluation, best line, time controls,
game termination)
√ Time controls are now supported (provided engine supports Chess Engine Suite 2.0)
√ Endgame databases now distributed on ExaChess CD. Fixed various problems with using them
√ Play with built-in engine against database now works if op tree isn't showing
√ Added Annotate command to automatically annotate the main line of a game from the current
position through to the end.
√ Added Host Match command for hosting n-game matches from a user-specified starting
position between two chess engines and saving results to a database.
√ Error messages if engine won't launch or isn't responding or responds invalidly
√ Timeout on a search
√ General Prefs/Always ask to save changes extended so that if unchecked, the close
confirmation dialog doesn't show for computer games.
√ If option key is down, then Go does a one-off search without setting autoplay
√ Added Play Log to display communications with play engines
√ Added Openings from Database and Endgames from Tables menu items, which
if checked override selected play engine for openings and endgames
√ Settings in Host Match dialog are now saved in prefs (excl play engines)
√ Annotation threshold can now be set from General Prefs (from 0 to 100 centipawns;
try 50 for best result).
√ Fixed bug: Interaction with chess engines has been made more robust
√ Fixed bug: Language no longer needs to be set to English
Changes in 1.2 with respect to 1.1.3
GAMES
√ Added Copy Position submenu to copy the position in the front game window in
one of 3 formats: as Game (Text or PGN game with setup position), as PICT
using current printing font, and as a styled text board (same as PICT but
using styled text).
√ Opening Tree display size is now saved with Set Window Defaults for game window
√ Max piece size increased from 48 pt to 72 pt (but larger Staunton pieces will look
ragged)
√ Increased hash to 64 bits (but longer value not yet used in database indexes)
√ Fixed bug: Font and size can now be adjusted in Text View. Changes in one view
update the other view.
DATABASES
√ Can now search for all games played by players with an Elo above a specified value.
Just enter the Elo in the Players field. If a file Masters is present in the
Tools folder, missing Elo values are found by looking up the name in the Masters
file.
√ Fixed bug: Fixed nasty problem of 'Tried to get non-existent resource' error messages
which would show up after several rounds of changes to database.
√ Fixed bug: PGN files are now parsed in English even when Language is non-English.
This fixes problems seen by some users of PGN games being parsed for the first
one or two moves only with the rest of the game as a comment.
√ Fixed bug: Given names are now indexed in full (rather than first initial only)
so that Database Prefs / NameFormat = 'Surname,Given' works as advertized
√ Fixed bug: Error reporting during failed database operations such as reindexing
is more reliable, e.g. out of memory errors while building Opening Tree index.
√ Fixed bug: There's now an error message (rather than a crash) if a database whose
games appear in a Find result is renamed or moved, and an attempt is made to open
one of those games.
√ Fixed bug [Lite, 1.1]. Databases with more than 256/128 deleted games can again
be opened.
√ Fixed bug: ShowDuplicates, ShowDuplicatesAll now checked in menu
Changes in 1.1.3 with respect to 1.1.2
DATABASES
√ Reduced memory requirements further when opening very large databases.
A 1-million game database can often be opened within ExaChess's default
memory allocation of 2.4 MB.
√ Fixed bug: No longer crash if ExaChess runs out of memory while opening
a database window
√ Fixed bug: An initial notes no longer propagates to every move that precedes
a move with variations when saving games into ExaChess databases
Changes in 1.1.2 with respect to 1.1.1
GENERAL
√ Improved stability in low memory conditions
√ More error dialogs are now movable modal
√ Libraries now use HOpenDF instead of HOpen under System 7 or later
GAMES
√ Opening Tree pane is resizable (but new size not yet saved)
√ Opening Tree view now shows percentage games < 1% as 0.x%
√ Fixed bug: Correct variation is now consistently highlighted
in Show Game Text view.
√ Fixed bug: New unmodified game window is no longer marked as 'dirty'
so Confirm Close dialog isn't forced when new window is closed
√ Fixed bug: Consecutive PGN nags (e.g. $4 $19 meaning ?? -+) are
now handled
DATABASES
√ Fixed bug: Find no longer trashes the display of any already open databases
which it searches (which could lead to a crash).
√ Fixed bug: Recovery of ExaChess-format databases much less likely to hang.
√ Fixed bug: No longer crash on converting heavily annotated games to CB-format
√ Fixed bug: Only the first 300K games can now contribute to Opening Tree index
Changes in 1.1.1 with respect to 1.1
GAMES
√ Fixed bug: Balloon help for the game window toolbar was still as for
the 1.0 icons, not the 1.1 changes
DATABASES
√ Fixed bug: Recovering ChessBase files with a missing .cbi file works
again and Recovering shows correct games/s value.
Changes in 1.1 with respect to 1.0
GENERAL
√ Added many more lines to opening book
√ Changed code to build opening book. New format. Auto-resizing.
√ Fixed bug: Prefs / Beep when done can now be turned off permanently
√ Fixed conflict: Eliminated 'NIL Handle' error message at startup
where System Help menu has been removed by an extension such as CPU.
GAMES
√ Rearranged toolbar
√ Added Go To Start and Go To End menu commands and toolbar buttons
√ Show Captured Pieces and Show Game Text settings now saved in Prefs
√ Show Game Text is greatly improved. Last move played is automatically
highlighted as you play through the game. Clicking on a move positions
the game at that move (use option-click to set insertion point).
Arrow keys navigate through the game (use option-arrow key to move
the insertion point). Changes are applied after return (use option-
return to type actual return) or space (if Space enters move is
set in prefs); no need to switch back. Game header is separated from
moves.
√ Can now enter a date range for correspondence games, in the notation
1995-97 or 1999-01; end year must be 1 to 5 years from start year;
can't have month or day present. Supported in Text, PGN and
ExaChess databases, but not ChessBase or NICBase. (PGN databases use
a newly invented tag 'EndYear').
√ Removed feature whereby an immediate correction (go back then make a
different move) deletes the corrected move.
√ An optional semicolon is now allowed before keywords in title
√ Short variations are now shown in full in input box, longer ones are
shown with first move followed by an ellipsis
√ Added Swedish as a supported notation language
√ Input box next move number now only displayed at the end of a line
√ Fixed bug: Captured pieces now displayed correctly in PPC version
√ Fixed bug: Promoting a pawn with a discovered check is now correctly
identified as a move giving check
√ Fixed bug: Game is now marked 'dirty' (bullet in title and Save enabled)
on a new game or after setup, and is no longer marked 'dirty' simply
on switching back unchanged from Show Game Text
√ Fixed bug: Suggested title on saving a game with no event no longer includes
result and number of moves
√ Fixed bug: Scrollbar and input field now properly deactivated on Suspend event
√ Fixed bug: Can now set font, size of text in game window
√ Fixed bug: In descriptive notation input, can no longer effect a capture
with a '-' move, e.g. 1 P-K4 P-KR4 2 Q-R5 (meaning QxP) no longer allowed
√ Fixed bug: Set Main Line now updates move list to bold
√ Fixed bug: Figurines now display correctly for fonts which have a non-zero
descent (such as Linares)
DATABASE
√ Added progress bar to show progress of slow database operations
√ Changed NameMatch criteria to handle given names, including incorrectly
separated names
√ Added support for very large databases. Previously database size was limited
by the 16M limit on the size of a Mac file's resource fork. Now databases
with more than 105K games use up to two additional index files (.idx and
.idp) to hold portions of the index.
√ Major reduction in memory requirements for opening large database: reduced
from around 1 MB per 100K games to perhaps 250K per 100K games.
√ Added support for Chess Assistant text format in which title is centered and
year precedes event.
√ SaveIn menu now shows front database as 2nd item for quick access
√ Game No now starts at 1 rather than 0
√ Improved recovery of ExaChess format databases
√ Changed command keys for Previous Game / Next Game to Cmd-[ and Cmd-]
√ Index no longer clips strings to 32 bytes (now clipped to 64)
√ Diacriticals are stripped from opening name in PGN databases
√ Handle changed Chessbase file format (.cbi file has extra 4 bytes) without
'recovering'. CB files are now written in the new format.
√ Fixed bug: PGN input: Can now handle EventDate tag. Can now parse PGN
databases with minor imperfections in the data (such as duplicated tags,
blank lines after each line etc.).
√ Fixed bug: PGN output: Checkmate now indicated with #, FEN and Setup tags
no longer end in colon.
√ Fixed bug: No of selected games now correctly shown if > 32K
√ Fixed bug: Message text now correctly shows '11 duplicates'; less flicker
√ Fixed bug: ExaChess format databases now skip over spareData
√ Fixed bug: Dupes checking no longer leaves memory allocated if it runs
out of memory before finishing
√ Fixed bug: Games with annotations after results now handled correctly in Exa
and CB format databases
√ Fixed bug: SaveAs now enabled only if all games are showing in window
√ Fixed bug: Entering moves on the Position search dialog board no longer
sets title to Untitled and brings up Confirm Save dialog on exit
√ Fixed bug: Compacting a database no longer changes its format to Exa
FIND
√ Option-Clear Search now clears results without clearing criteria (useful
for keeping criteria but not doing Follow on search)
√ Follow on search only happens if previous search actually found some games
√ Cancelling a search now works more reliably
OPENING TREE
√ Added Opening Tree index which allows game window to instantly show all next
moves and their stats from the database for any opening position
EXPORT RTF
√ Diagrams within variations are now supported
√ Fixed bug: The diagram at the start of a game with a setup position was
being printed only if the Diagrams preference was None. It is now always
printed unless the preference is None.
√ Fixed bug: Extraneous new line after a diagram no longer produced
ALL DATABASES
√ Can now select a folder to select all the databases it contains
√ Folders now have a Finder-like disclosure triangle
√ Selection is now remembered and is effective when window is hidden.
Commands which work on the All Databases window now work on last
selection when window is hidden.
√ Double-clicking a game file in the window opens the game
√ Fixed bug: Details now updated as soon as a database gets changed (rather
than when the database's window is closed)
COMPUTER PLAY
√ Built-in engine can be used to play against the database (the opening tree)
√ Added 'support' for chess engines that can't handle standard algebraic -
if engine name (or its alias) ends in '-', coordinate notation will be used
√ A computer move is now accompanied by a quiet knock sound, not the
system beep
√ Fixed bug: Go is now disabled while a move is in progress
√ Fixed bug: Can now enter moves with keyboard can now trigger autoplay
√ Fixed bug: Chess engines are not longer listed in the Play menu if they
are stored in a subfolder of Tools folder
√ Fixed bug: If default chess engine is missing, it will default to Built-in